package game.maps;

import game.Sprite;

import java.awt.Color;
import java.util.ArrayList;
import java.util.List;

public class MapsCollection {

	public static Map getSimpleMap() {
		return new Map() {
			@Override
			public List<Sprite> getSprites() {
				List<Sprite> bricks = new ArrayList<Sprite>();
				
				/*
				bricks.add(new Brick(new Coordinates(0,0), new Dimentions(700, 10), Color.BLACK));
				bricks.add(new Brick(new Coordinates(0,0), new Dimentions(10, 600), Color.BLACK));
				bricks.add(new Brick(new Coordinates(690,0), new Dimentions(10, 600), Color.BLACK));
				bricks.add(new Brick(new Coordinates(0,590), new Dimentions(700, 10), Color.BLACK));
				
				
				
				bricks.add(new Brick(new Coordinates(100,100), new Dimentions(200, 10), Color.GRAY));
				bricks.add(new Brick(new Coordinates(360,80), new Dimentions(10, 200), Color.GRAY));
				bricks.add(new Brick(new Coordinates(150,400), new Dimentions(80, 40), Color.DARK_GRAY));
				bricks.add(new Brick(new Coordinates(400,350), new Dimentions(80, 80), Color.ORANGE));
				*/
				return bricks;
			}
		};
	}

	
	public static Map getSaturdayMap() {
		return new Map() {
			@Override
			public List<Sprite> getSprites() {
				List<Sprite> bricks = new ArrayList<Sprite>();
				
				Color zalsva = new Color(0.6f, 0.9f, 0.3f);
				Color melsva = new Color(0.0f, 0.5f, 0.8f);
				Color raudona = new Color(1.0f, 0.2f, 0.2f);
				Color raudona2 = new Color(1.0f, 0.2f, 0.2f, 0.5f);
				
				bricks.add(new Brick(0,0, 700, 10, Color.BLACK));
				bricks.add(new Brick(0,0, 10, 600, Color.BLACK));
				bricks.add(new Brick(690,0, 10, 600, Color.BLACK));
				bricks.add(new Brick(0,590, 700, 10, Color.BLACK));
				
				bricks.add(new Brick(10,100, 200, 20, melsva));
				bricks.add(new Brick(90,200, 200, 20, melsva));
				bricks.add(new Brick(10,300, 200, 20, melsva));
				bricks.add(new Brick(200,400, 200, 20, melsva));
				
				bricks.add(new Brick(600, 50, 20, 200, melsva));
				bricks.add(new Brick(400, 230, 200, 20, melsva));
				
				bricks.add(new Brick(100, 300, 20, 200, melsva));
				
				bricks.add(new Brick(300,10, 50, 100, zalsva));
				bricks.add(new Brick(300,110, 200, 50, zalsva));
				
				bricks.add(new Brick(200,490, 100, 100, zalsva));
				
				bricks.add(new Brick(550,290, 140, 50, zalsva));
				bricks.add(new Brick(550,480, 140, 50, zalsva));
				bricks.add(new Brick(500,290, 50, 100, zalsva));
				bricks.add(new Brick(500,420, 50, 110, zalsva));
				
				bricks.add(new Brick(290,200, 50, 200, zalsva));
				
				bricks.add(new Brick(30,400, 5, 5, raudona));
				bricks.add(new Brick(39,420, 7, 7, raudona));
				bricks.add(new Brick(14,413, 9, 9, raudona));
				bricks.add(new Brick(82,434, 8, 8, raudona));
				bricks.add(new Brick(52,474, 4, 4, raudona));
				
				
				//bricks.add(new Brick(200,420, 260, 100), raudona));
				
				for (int i = 0; i< 20; i++){
					int x =	(int)(Math.random()*260 + 200);
					int y = (int)(Math.random()*100 + 420);
					bricks.add(new Brick(x,y, 5, 5, raudona2));
				}
				
				
				
				return bricks;
			}
		};
	}
	
	public static Map getBoxMap() {
		return new Map() {
			@Override
			public List<Sprite> getSprites() {
				List<Sprite> bricks = new ArrayList<Sprite>();
				
				Color zalsva = new Color(0.6f, 0.9f, 0.3f);
				Color melsva = new Color(0.0f, 0.5f, 0.8f);
				Color raudona = new Color(1.0f, 0.2f, 0.2f);
				Color raudona2 = new Color(1.0f, 0.2f, 0.2f, 0.5f);
				
				bricks.add(new Brick(0,0, 700, 10, Color.BLACK));
				bricks.add(new Brick(0,0, 10, 600, Color.BLACK));
				bricks.add(new Brick(690,0, 10, 600, Color.BLACK));
				bricks.add(new Brick(0,590, 700, 10, Color.BLACK));
				
				bricks.add(new Brick(320,240, 60, 60, raudona));
					
				
				return bricks;
			}
		};
	}

	

}
